!% -S !================================================== Constant Story "DE BARON"; Constant Headline "^Een interactief verhaal, geschreven door Victor Gijsbers ^Gepubliceerd onder de GNU General Public License ^ (Type 'copyright' of 'about' voor meer informatie.) ^Nieuwe spelers kunnen met 'help' uitleg krijgen.^"; Constant NO_SCORE; !Constant WITHOUT_DIRECTIONS; Replace Refers; Include "Parser"; Object LibraryMessages with before [; Miscellany: if(lm_n == 19) if(kleding has worn) { "In je ruige houthakkerskleding zie je er bijzonder mannelijk uit. Fikse spierbundels, een stoppelbaard en een stevige kaaklijn maken het plaatje compleet."; } else { "Slechts gekleed in je nachthemd trotseer je het duister en de koude. Je stevige spieren en ongeschoren gezicht verlenen je een bijzonder masculien uiterlijk."; }; ]; Include "Verblib"; Include "GoNeighbour"; !=================================================== ! The Game Objects !--------------------------------------------------- ! Speciale classes Class Prop with before [; Examine: return false; default: print_ret "Je bent niet geïnteresseerd in ", (the) self, "."; ], has scenery; Class PropSup with before [; Examine: return false; default: if(noun == self){ print_ret "Je bent niet bijzonder geïnteresseerd in ", (the) self, "."; } else return false; ], has supporter static; Class Furniture with before [; Take,Pull,Push,PushDir: print_ret (The) self, " is te zwaar."; ], has static; !--------------------------------------------------- ! Scene 1: Thuis Object mijnslaap "In je slaapkamer" with name 'slaapkamer', description "Het zwakke schijnsel van de maan dat door het raam naar binnen valt geeft de slaapkamer een onwerkelijke uitstraling. Alleen het zachte ademen van je echtgenote in het grote ledikant doorbreekt de stilte. Naast de zware eiken kledingkast bevindt zich de deur naar de overloop. In de onverwarmde kamer is het ijzig koud.", n_to over_deur, has light male transparent; Object mijnbed "ledikant" mijnslaap class Furniture, with name 'bed' 'ledikant' 'hemelbed' 'grote', description "Het grote, door jou zelf getimmerde bed neemt bijna de halve kamer in beslag. Maanlicht speelt over de veelkleurige deken, die bij elke ademtocht van je vrouw op en neer gaat.", has enterable transparent scenery; Object deken "deken" mijnbed class Prop, with name 'deken' 'laken' 'veelkleurige' 'dekbed', description "Rode, blauwe en groene vlakken, nauwelijks herkenbaar in het schemerduister, wisselen elkaar schijnbaar zonder patroon af. Je vrouw Hilde heeft hem zelf op maat bij het door jou vervaardigde bed gemaakt. Jullie hebben de traditie in ere gehouden: pas toen beide gereed waren kon er getrouwd worden.", has male; Object vrouw "je vrouw" mijnbed with name 'vrouw' 'echtgenote' 'geliefde' 'eega' 'Hilde', description "Je buigt je voorover om Hilde's gezicht beter te kunnen zien; even stokt haar adem en lijkt ze te verstijven, dan keert het gestadige ritme weer terug. Maar je weet genoeg - ze slaapt niet! Ze weet waar je naar op weg bent, maar houdt zich slapende. Een stille goedkeuring die ze nooit zou kunnen uitspreken? Of is ze simpelweg te bang om de confrontatie aan te gaan?", has animate female proper scenery; Object stoel "stoel" mijnslaap class PropSup, with name 'stoel' 'kruk' 'zetel', description "Een eenvoudige houten stoel die je gebruikt om je kleding 's avonds overheen te hangen.", has male; Object kleding "je werkkleding" stoel with name 'kleding' 'kleren' 'werkkleding', description "Dit is de kleding waarmee je overdag in het woud hout gaat hakken: een stevige spijkerbroek, een rood-blauw geruit hemd en twee zware leren laarzen. Er hangt een vage zweetgeur om het hemd heen.", has clothing proper transparent; Object hemd "houthakkershemd" kleding with name 'hemd' 'houthakkershemd' 'shirt' 'wollen' 'geruit' 'zweet', description "Een rood-blauw geruit wollen hemd, door je vrouw Hilde met de hand gesponnen, geverfd en gebreid. De geur van het eerlijke zweet van de harde werker hangt er omheen.", before [; Wear: <>; Take: <>; Disrobe: <>; Drop: <>; PutOn: <>; Smell: "Onmiskenbaar een zweetgeur. Maar volgens Hilde is dat juist opwindend."; ], has concealed; Object broek "houthakkersbroek" kleding with name 'broek' 'houthakkersbroek' 'stevige' 'spijkerbroek', description "Blauwe Levi's jeans, niet mooier geworden van wat ze tijdens het uitoefenen van je beroep allemaal hebben moeten doorstaan. Dat ze nog steeds intact zijn is een bewijs van hun duurzaamheid.", before [; Wear: <>; Take: <>; Disrobe: <>; Drop: <>; PutOn: <>; ], has male concealed; Object laarzen "houthakkerslaarzen" kleding with name 'laars' 'laarzen' 'leren' 'zware' 'houthakkerslaarzen', description "Een paar leren laarzen, met stalen neuzen voor extra bescherming.", before [; Wear: <>; Take: <>; Disrobe: <>; Drop: <>; PutOn: <>; ], has pluralname concealed; Object kast "kledingkast" mijnslaap class Furniture, with name 'kast' 'kledingkast' 'eiken' 'zware', description "Met dit grote meubel ben je weken bezig geweest. Niet alleen heb je zelf de boom omgehakt waaruit hij gemaakt is, ook het zagen van de planken, het schuren, timmeren, lakken, en zelfs het subtiele houtsnijwerk heb je zelf gedaan. De herinnering aan die gelukzalige eerste maanden van jullie huwelijk, waarin Hilde en jij met beperkte middelen maar mateloos enthousiasme jullie kleine huisje inrichtten, doet je glimlachen.", has container ~open openable scenery male; Object kastkleding "grote hoeveelheid jurken, broeken en andere kleren" kast class Prop, with name 'kleren' 'hoeveelheid' 'andere' 'grote', description "In deze kast bewaren jullie al je kleren, netjes opgevouwen en gestreken, in keurige stapels gelegd. In een smal gedeelte aan de zijkant hangen de jurken van je vrouw.", has static transparent ~scenery; Object jurken "jurken" kastkleding class Prop, with name 'jurken' 'jurk', description "Je laat je vingers langs de ruwe, stijve stof van de jurken glijden. Praktisch en zonder franje, de werkkleding van een bedrijvige huisvrouw. Helemaal achterin verstopt het witte satijn van Hildes trouwjurk zich alsof het met de rest van de kleding niet gezien wil worden.", has concealed static pluralname; Object trouwjurk "trouwjurk" kastkleding class Prop, with name 'trouwjurk' 'satijn' 'bruidsjurk', description [; print "Je pakt de koele, zachte stof vast en sluit voor een moment je ogen. Herinneringen aan je bruiloft komen met grote hevigheid boven; het is alsof er geen dag verstreken is, zo vers ligt het nog allemaal in je geest."; if (verhaaltracker.bruiloft == 0) {Herinner(1);} ! Bruiloft else{print "^";}; ], has concealed female static; Object broeken "broeken" kastkleding class Prop, with name 'broeken', description "Deze stevige spijkerbroeken zijn de perfecte kleding voor een houthakker: niet kapot te krijgen.", has concealed static pluralname; Object raam "raam" mijnslaap with name 'raam' 'venster' 'vensterglas' 'buiten', description "Onwerelds maanlicht valt door het raam naar binnen. Het dorp buiten is bedekt onder een dikke laag sneeuw, zodat de kerktoren als een priemende zwarte vinger uit een witte zee omhoog steekt. ~Is dit niet het landschap,~ vraag je je af, ~voor het soort sprookje waar schoonheid verraderlijk is en altijd ijzige koude in zich bergt?~", before [; Search: <>; ], has scenery door; Object over_deur with name 'deur', short_name [; if (location == mijnslaap) print "deur naar de overloop"; else print "deur naar de slaapkamer"; return true; ], description [; if (location == mijnslaap) "De nauwsluitende deur scheidt je slaapkamer van de overloop en daarmee de rest van het huis."; else "Deze deur leidt terug naar de slaapkamer."; ], found_in mijnslaap overloop, door_dir [; if (location == mijnslaap) {return n_to;} else {return s_to;}; ], door_to [; if (location == mijnslaap) return overloop; else return mijnslaap; ], has door openable ~open scenery male; Object nachtkastje "vuren nachtkastje" mijnslaap class PropSup, with name 'kastje' 'nachtkastje' 'vuren', description [; print "Een simpel nachtkastje van vurenhout, het allereerste meubel dat je ooit zelf getimmerd hebt."; if(parent(foto) == self){print " Op het nachtkastje staat een familiefoto.";}; ""; ], has ; Object foto "familiefoto" nachtkastje with name 'foto' 'familiefoto' 'prent' 'plaatje' 'portret', description [; if (verhaaltracker.status == 0){"Deze foto, gemaakt ter ere van het tienjarig huwelijk van jou en Hilde, is alweer enkele jaren oud. Plechtig staan jullie als twee zwart-witte standbeelden naast elkaar, voor de gelegenheid weer in jullie trouwkostuums gehesen. Op de voorgrond, dicht tegen jou aan, staat jullie dochter Maartje. Kleine Maartje, in haar prachtige witte jurkje, een stralende lach op haar gezicht. Op de foto heb je beschermend een arm over haar schouder geslagen. En nu, nu is zij ontvoerd door de kwaadaardige baron... nogmaals zweer je dat je alles in je macht zal doen om haar te bevrijden.";} else {"TODO";}; ], after [; PutOn: if(parent(self) == nachtkastje){give self concealed;}; Take: give self ~concealed; return false; default: return false; ], has male concealed; Object overloop "overloop" with name 'overloop' 'gang', description "Verhaal over de gang. TODO.", s_to over_deur, has light transparent; !=================================================== ! Speciale zaken [ HelpSub; style bold; print "^De baron ";style roman; print "is een interactief verhaal. Dat betekent dat de lezer het verhaal niet passief voor zich ziet onrollen, maar zelf een actieve rol speelt in de fictieve wereld. De lezer controleert de hoofdpersoon, door hem opdrachten te geven. Bijvoorbeeld: 'bekijk bed' (korter: 'x bed') laat de hoofdpersoon naar het bed kijken, wat een meer gedetaileerde beschrijving van dit voorwerp oplevert. Andere opdrachten die veel gebruikt worden zijn 'kijk', 'pak', 'open', 'sluit', 'geef', 'zoek', enzovoort. Experimenteer vooral; ook complexere zinnen als 'leg de kleding op de stoel' en 'open de deur met de bronzen sleutel' worden begrepen.^"; style bold; print "^De baron ";style roman; "is geen traditionele text-adventure. Er zijn geen puzzels om op te lossen, en je kan niet winnen of verliezen. Het is heel letterlijk interactieve fictie, niet een spel. Het doel is de fictionele wereld en de verontrustende thematiek van het verhaal zo intens mogelijk te beleven.^ ^ In dit verhaal is een naar en tragisch thema aan de orde. 'De baron' is dan ook zeker niet geschikt voor jeugdige lezers en volwassenen die liever niet aan de duisterheid van de menselijke ziel herinnerd worden."; ]; [CopyrightSub; style bold; print "^Copyright 2004, Victor Gijsbers^ ^De baron"; style roman;print " wordt gepubliceerd onder de GNU General Public License. Kort gezegd houdt dit in dat zowel dit programma als de broncode gratis te verkrijgen zijn en naar hartelust gekopieerd en verspreid mogen worden. Echter, alle software of andere werken waarin delen van dit programma of de broncode gebruikt worden, moeten op hun beurt ook onder de GNU General Public License uitgebracht worden.^^"; spaces 6;print"This program is free software; you can redistribute it and/or modify^"; spaces 6;print"it under the terms of the GNU General Public License as published by^"; spaces 6;print"the Free Software Foundation; either version 2 of the License, or^"; spaces 6;print"(at your option) any later version.^^"; spaces 6;print"This program is distributed in the hope that it will be useful,^"; spaces 6;print"but WITHOUT ANY WARRANTY; without even the implied warranty of^"; spaces 6;print"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the^"; spaces 6;print"GNU General Public License for more details.^^"; spaces 6;print"You should have received a copy of the GNU General Public License^"; spaces 6;print"along with this program; if not, write to the Free Software^"; spaces 6;print"Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA^^"; "Kijk op http://www.gnu.org/licenses/gpl.txt voor de tekst van de GNU General Public License."; ]; [AboutSub; style bold; print "De baron "; style roman; "werd geschreven door Victor Gijsbers. Het is zijn eerste Interactieve Fictie werk. Hierbij werd dankbaar gebruik gemaakt van Graham Nelson's Inform en Yuri Robbers vertaling van de Inform Library in het Nederlands.^ ^Neem bij vragen of commentaar gerust contact op met de auteur: victor@@64lilith.gotdns.org."; ]; [ Herinner onderwerp; switch(onderwerp){ 1: ! Bruiloft VraagToets(0,1,0); style bold; print "^^Hier een diepzinnige herinnering aan de bruiloft. ^"; style roman; Vraagtoets(1,1,1); verhaaltracker.bruiloft = 1; default: ""; }; ]; [ VraagToets a b c i; ! This routine is called with 3 options, a, b and c, and returns nothing. ! In any case, the routine prints two returns, and waits for a key to be pressed. ! If a = 1, the routine prints a bold-faced messages asking for a key to be pressed. ! If b = 1, the routine clears the screen once the key is pressed. ! If c = 1, the routine executes the Look-command after the key is pressed. print "^^"; if(a == 1){style bold;print "[Druk op een toets.]^";style roman;}; @read_char 1 -> i; if(b == 1) @erase_window -1; if(c == 1) {print "^"; <>;}; ]; Object verhaaltracker with status 0, bruiloft 0, has ; !=================================================== ! Entry point routines [ Initialise; location = mijnslaap; lookmode = 2; ! like the VERBOSE command "^^De twaalfde slag van de kerkklok sterft weg, en de stilte van de winternacht keert terug over het dorp. Uiterst voorzichtig stap je uit bed, opdat je je vrouw niet wekt. Zij zou je zeker proberen tegen te houden. Maar je besluit staat vast: onder de dekmantel van het duister zal je het kasteel van de kwade baron binnensluipen en je dochter uit haar gevangenschap bevrijden. ^^^^"; ]; !=================================================== !Standard and extended grammar Include "Grammar"; Verb 'help' 'hulp' * -> Help; Verb 'copyright' 'copyleft' * -> Copyright; Verb 'about' * -> About;